package com.azzaou.service;

import java.util.Date;
import java.util.List;

import com.azzaou.model.CategorieEmploye;
import com.azzaou.model.Chantier;
import com.azzaou.model.Employe;
import com.azzaou.model.EmployesAPayer;
import com.azzaou.model.Imputation;
import com.azzaou.model.PaiementEmploye;

public interface IEmployeService {
	
//	public List<Employe> getAllEmploye();
	
	public List<Employe> getEmployeByCriteria(Employe employe);
	public void saveOrUpdateEmploye(Employe employe);
	public void removeEmploye(Employe employe);
	public void saveOrUpdateCategorie(CategorieEmploye categorieEmploye);
	public void removeCategorie(CategorieEmploye categorieEmploye);
	public List<String> employesByNames(String begin);
	public List<Employe> getAllActifEmploye();
	public List<CategorieEmploye> getAllCategorie();  
	public CategorieEmploye getCategorieEmployeById(Long id);
	public List<Employe> getAllEmployeByEchantier(Chantier chantierEnCours);   
	public void saveImputations(List<Imputation> imputations);
	public List<Imputation> getImputations(Employe emp);
	public List<Imputation> getImputationsEmployers(Chantier chantier);
	public void saveOrUpdatePaiement(PaiementEmploye paiementEmploye);
	public List<CategorieEmploye> getCategEmployeByCriteria(CategorieEmploye categ);
	public List<PaiementEmploye> getHistoriqueEmploye(Employe employe);
	public List<CategorieEmploye> getAllActifCategorie();
	public List<Imputation> getImutationsPeriod(Chantier chantier, Date dateDebut, Date dateFin);
}
